کلید اصلی یا پرایمری کی در اکسس 💥همراه با نکات کاربردی
سلام و درود خدمت همراهان سافت پلاس . باز هم با مطلب دیگری در زمینه آموزش اکسس با هم هستیم و این بار می خواهیم به سراغ یک مفهوم خیلی ساده اما در عین حال مهم برویم . مفهومی به اسم کلید اصلی یا همان primary key .
توی این آموزش می خواهیم راجع به موارد زیر با هم صحبت کنیم :
اول مفهومی به اسم کلید اصلی را بررسی می کنیم تا بهتر با آن آشنا شویم .
بعد به سراغ کاربرد پرایمری کی در دیتابیس ها می رویم .
با انواع کلیدهای اولیه آشنا می شوید .
یاد می گیرید که برای ایجاد یک کلید اصلی چه نکاتی را باید رعایت کنید .
چه طوری می توانید یک کلید اصلی در اکسس را برای خودتان ایجاد کنید .
و البته در کنار همه اینها کلی نکته کاربردی هست که قرار است راجع به همه آنها با هم صحبت کنیم .
پس اگر شما هم علاقمند به یادگیری کامل مفهومی به اسم کلید اصلی در اکسس هستید با من همراه شوید .
فهرست محتوا
منظور از کلید اصلی در اکسس چیست ؟
کلید اولیه ، کلید اصلی یا پرایمری کی . هر سه تای اینها دارند به یک چیز اشاره می کنند .
اما قبل از هر چیز برویم به سراغ مفهوم چیزی به اسم کلید اصلی یا همان پرایمری کی .
اول باید از پرایمری کی یک تعریفی داشته باشیم تا اینکه وقتی صحبت از کلید اولیه می کنیم بدانیم منظورمان چیست ؟
در یک تعریف خیلی ساده کلید اصلی یا همان پرایمری کی را می شود اینطور تعریف کرد که :
” در یک جدول که می تواند شامل چند تا ستون باشد از بین همه آنها یک یا چند تا ردیف هستند که همیشه مقدار داده موجود در آنها حالت غیر تکراری دارد .
یعنی در کل یک جدول قرار نیست که ما دو تا ستون داشته باشیم که اطلاعات داخل آنها دقیقا مثل هم باشد . ”
تعریف گیج کننده ای است . مگر نه ؟
نگران نباشید به خواندن ادامه دهید تا همه چیز برایتان روشن شود .
مفهوم کلید اصلی یا همان پرایمری کی در اکسس
برای اینکه راحت تر این اصطلاح را درک کنیم بیایید یک مصداقی از کلید اولیه در دنیای پیرامون خودمان پیدا کنیم .
همه ما به عنوان عضوی از یک جامعه به نحوی با کلید های اولیه سرو کار داریم .
هر چند که شاید این عنوان یعنی کلید اولیه را برای این موارد به کار نبریم اما به مثال های زیر دقت کنید .
– همه ما که در ایران زندگی می کنیم دارای یک کد هستیم به نام کد ملی .
– همه ما در بانک حساب بانکی داریم و شماره کارتی که فقط و فقط مخصوص خودمان است .
– همه ما موبایل داریم و یک شماره موبایل که در کل کشور یکی است و آن هم متعلق به خودمان است .
از این دست دست مثال ها زیاد است . اما در اینجا بیایید به همین سه مورد بپردازیم و آنها را بیشتر بررسی کنیم .
اگر دقت کنید همه این مثال هایی که ذکر کردیم در یک چیز مشترک هستند و آن یک چیز هم این است که همه اینها بصورت اعداد و ارقام هستند .
کد ملی یک فرد یک عدد ۱۰ رقمی است .
شماره کارتی که هر فرد دارد یک عدد ۱۶ رقمی است .
شماره موبایل همه افراد یک عدد ۱۰ رقمی است .
این اولین نقطه مشترک بین این سه مورد بود . اما اینجا یک نقطه مشترک خیلی مهمتر هم وجود دارد .
چیز مهمتری که در مورد این مثال ها وجود دارد این است که هیچ کدام از آنها شبیه به هم نیستند . این یعنی چه ؟
یعنی اینکه ما در کشوری مثل ایران اگر ۸۰ میلیون جمعیت داشته باشیم و همه افراد دارای کد ملی باشند به هیچ عنوان کد ملی دو نفر مثل هم نیست .
یا اگر ما در کشور ۵۰ میلیون کارت بانکی به نام افراد مختلف داشته باشیم به هیچ عنوان نباید کارت بانکی داشته باشیم که شماره روی این کارت ها یکی باشد .
یا در مورد سیم کارت های تلفن همراه اگر ۶۰ میلیون سیم کارت داشته باشیم به هیچ عنوان نباید دو سیم کارت داشته باشیم که شماره های آنها یکی باشد .
یعنی در مورد هیچ کدام از اینها عاملی به اسم تکرار وجود ندارد . حالا این غیر تکراری بودن کجا به درد ما می خورد .
فقط در مورد همین مثال آخر فرض کنید که شما شماره همراه دوست خود را می گیرید اما همین شماره دوست شما را فقط ۱۰ نفر دیگر هم داشته باشند . آن وقت می بینید که با چه مشکل بزرگی روبرو می شوید .
در اکسس هم دقیقا با همچین مفهومی رو برو هستیم . یعنی لزوم غیر تکراری بودن فیلد یا فیلدهای خاصی از یک یا چند جدول . مفهومی که از آن تحت عنوان کلید اولیه اسم می بریم
اما قبل از اینکه بخواهیم به سراغ مثال های عملی برویم اجازه بدهید دو موضوع را با هم بررسی کنیم .
اول اینکه آیا اصلا وجود و استفاده از کلید اولیه در یک جدول اکسس یک امر اجباری و الزامی است؟
آیا اکسس این اجازه را به ما می دهد که هیچ فیلدی را بعنوان کلید اولیه جدول خود در نظر نگیریم ؟ .
پاسخ هر دو تای این سوالها مثبت است .
اجازه بدهید کمی بیشتر توضیح بدهم .
در عمل هر جدولی که در داخل اکسس ایجاد می شود باید دارای حداقل یک کلید اولیه باشد.
اما اکسس ما را مجبور به تعریف این کلید اولیه نمی کند .
وقتی که شما یک جدول جدید را در اکسس ایجاد می کنید بطور پیشفرض یک فیلدی در جدول وجود دارد به اسم Id که خود اکسس از همان اول آن را به صورت کلید اولیه تعریف کرده است .
حالا 3 تا حالت می تواند وجود داشته باشد .
حالت اول :
شما در این حالت همان فیلد پیشفرض اکسس را به عنوان کلید اولیه در جدول مورد نظر قبول می کنید و بقیه فیلدهای خودتان را در جدول طراحی می کنید.
حالت دوم :
فیلدی را که اکسس برای کلید اصلی پیشنهاد می کند را قبول نمی کنید و خودتان یک فیلد را بر اساس نیاز و تشخیص تان به عنوان کلید اصلی انتخاب می کنید .
حالت سوم :
در این حالت نه فیلد پیشنهادی اکسس را قبول می کنید و نه خودتان اقدام به تعریف کلید اولیه برای جدول می کنید .
در این حالت شما یک جدولی دارید که ممکن است دارای چندین فیلد باشد اما هیچ کدام از آنها نقش کلید اصلی یا همان پرایمری کی را نداشته باشند .
این یعنی یک جدول بدون وجود کلید اصلی .
اصلا چرا باید در اکسس از کلید اصلی استفاده کنیم ؟
داشتن و وجود کلید اولیه یا همان کلید اصلی در جدول ها کلی مزیت به همراه خودش دارد .
در اینجا چند تا از مزایای وجود کلید اولیه در جداول اکسس را بررسی می کنیم .
مزیت شماره 1: جلوگیری از ورود داده تکراری
اولین دلیل و مزیت این است که با استفاده از کلید اولیه به راحتی می شود از ورود داده های تکراری در جدول ها خودداری کرد .
مثلا اگر شما بخواهید اطلاعات مربوط به دانش آموزان یک مدرسه را در یک جدول ذخیره کنید به راحتی می توانید به هر دانش آموز یک کد بدهید .
حال اگر همین کد اختصاصی را بعنوان کلید اولیه در نظر بگیرید دیگر اکسس به شما اجازه نخواهد داد که از یک کد مشترک برای دو دانش آموز مختلف استفاده کنید .
اصلا فلسفه وجودی کلید اولیه در یک جدول این است که وقتی شما اطلاعاتی را در یک فیلد که بصورت کلید اولیه تعریف شده است وارد می کنید اکسس بطور خود کار فیلدهای قبلی را چک می کند تا متوجه شود که آیا اطلاعات جدید با اطلاعات قبلی یکسان هستند یا خیر .
این یکسان بودن یعنی تکراری بودن اطلاعات جدید .
و تکراری بودن اطلاعات در یک جدول می تواند نشانه ای باشد از طراحی نامناسب آن .
چیزی که قوانین نرمال سازی در جداول اکسس را کاملا نقض می کند .
می پرسید نرمال سازی دیگر چیست ؟ مطلب زیر را بخوانید تا بهتر متوجه این مفهوم شوید .
نرمال سازی در جداول اکسس چیست ؟ چرا اینقدر مهم است ؟
البته برای جلوگیری از ورود داده های تکراری در جداول راههای مختلفی وجود دارد که یکی از آنها استفاده از قابلیت کلید اولیه است .
از روش های دیگر که برای این کار وجود دارد می شود از قابلیت ایندکس گذاری در جداول اسم برد و یا حتی می شود از کدهای VBA هم برای این کار استفاده کرد که در مطلب چطور مانع از ورود داده تکراری در اکسس شویم ؟ راجع به آن هم صحبت کرده ام .
مزیت شماره 2: جستجوی راحت تر و سریع تر اطلاعات
دلیل دوم مربوط به جستجوی اطلاعات است .
در همان مثال قبلی شما با استفاده از کد دانش آموزی که به عنوان کلید اصلی تعریف شده خیلی سریع می توانید جستجو کرده و به راحتی اطلاعات مربوط به آن دانش آموز را استخراج کنید .
مزیت شماره 3: ایجاد ارتباط بین جدول ها
اما دلیل سوم برای استفاده از کلید اصلی در ساختار جدول این است که با گسترش بانک اطلاعاتی تان قاعدتا جداول جدیدی به محیط اکسس شما اضافه خواهند شد .
وقتی که دو یا چند جدول داشته باشید به احتمال زیاد ناچار خواهید شد که بین جدول های خوتان ارتباط برقرار کنید .
خوب این برقراری ارتباط مستلزم این است که شما در جدول خود یک کلید اولیه را تعریف کرده باشید .
بدون داشتن کلید اصلی در جداول شما امکان برقراری ارتباط بین جداول وجود نخواهد داشت و بدون برقراری ارتباط بین جداول ، اکسس شما چیزی خواهد شد مثل محیط کاری اکسل که قابلیت ارتباط بین شیتها را به آن مفهومی که در اکسس داریم ندارد .
پس تا به اینجای کار تا حدودی با اهمیت و نقش کلید اصلی در جداول اکسس آشنا شدیم .
حالا برویم به سراغ مباحث مربوط به نحوه ایجاد کلیدهای اصلی و ویژگی هایی که یک کلید اصلی باید داشته باشد .
اول به بررسی ویژگی های کلید اولیه بپردازیم .
ویژگی های یک کلید اصلی در اکسس
برای یک کلید اصلی می توان ویژگی های زیر را در نظر گرفت :
– اول اینکه کلید اصلی می تواند شامل یک فیلد و یا ترکیبی از دو یا چند فیلد باشد .
– هر کلید اولیه در اکسس بطور خودکار بصورت ایندکس نیز در نظر گرفته می شود .
– فیلدی که بصورت کلید اولیه یا اصلی تعریف می شود به هیچ عنوان نمی تواند خالی از اطلاعات باشد .
– فیلد کلید اولیه همیشه دارای مقادیر غیر تکراری می باشد .
خوب بعد از همه این مطالب ببینیم که چگونه می توانیم یک کلید اصلی را برای جدول خود ایجاد کنیم .
این کار به سادگی چند کلیک است.
اول فیلد یا فیلدهایی را که می خواهید بعنوان کلید اصلی در نظر گرفته شوند را انتخاب کنید سپس بر روی آیکون مربوط به کلید Primary key کلیک کنید
بلافاصله در کنار فیلدهای تعیین شده یک علامت کلید قرار می گیرد. اما اگر شما در انتخاب کلید hwgd خود دچار شک و تردید هستید اکسس یک پیشنهاد ویژه برای شما دارد .
این پیشنهاد ویژه استفاده از نوع داده Auto Number برای کلید hwgd است .
با این انتخاب دیگر شما لازم نیست نگران خیلی از قواعد مربوط به کلید اولیه باشید .
چرا که این فیلد بطور خودکار ایجاد می شود و هیچ وقت هم مقدار آن خالی نخواهد ماند .
از این به بعد این فیلدها در حکم کلید hwgd بوده و قوانین مربوط به کلید اولیه در مورد آنها حاکم خواهد بود
اما برای انتخاب و ایجاد کلید اولیه در جدول چه نکاتی را باید در نظر بگیریم . ؟
اگر در یک جدول ما ۱۰ یا ۲۰ یا تعداد بیشتری فیلد داشتیم باید کدام یک از فیلد ها را به عنوان کلید اولیه در نظر بگیریم .
در اینجا می خواهیم به بررسی این موارد پرداخته و نکاتی در خصوص انتخاب کلید های اولیه را با هم مرور کنیم .
نکات لازم برای انتخاب کلید اصلی در اکسس
نکته شماره -1
برای انتخاب کلید اصلی همیشه در یک جدول به دنبال فیلدی باشید که قرار نیست اطلاعات آن تغییر کند .
همیشه در یک جدول به دنبال فیلدی باشید که قرار نیست اطلاعات آن مدام تغییر کند .
مثلا در مورد یک دانش آموز مطمئنا کد پستی دانش آموز چیزی است که به راحتی امکان تغییر آن وجود دارد.
یا شماره تماس مربوط به دانش آموز می تواند با تغییر سیم کارت به راحتی تغییر کند .
پس این دو فیلد کاندیدای خوبی برای اینکه به عنوان کلید اولیه در نظر گرفته شوند نیستند .
اما کد ملی دانش آموز یا کد دانش آموزی چیزی است که وقتی به فرد اختصاص پیدا کند معمولا دیگر تغییر نخواهد کرد پس این فیلدها گزینه خوبی برای قرار گرفتن به عنوان کلید های اولیه هستند .
نکته شماره -2
فیلد کلید اصلی همیشه بایداولین فیلد در مجموعه فیلدهای جدول تان باشد .
مطمئنا قرار نیست که شما اطلاعات یک فرد را جدول خود تکمیل کنید و بعد که به فیلد مربوط به کد ملی که به عنوان کلید اولیه در نظر گرفته شده است بروید و تازه متوجه شوید که مشخصات این فرد قبلا در جدول شما ثبت شده است .
هیچ وقت کار انتخاب کلید اصلی را به اکسس واگذار نکنید .
تنها گزینه اکسس برای ایجاد یک کلید اولیه استفاده از Auto Number است مطمئنا خود شما انتخاب های خیلی بهتری می توانید نسبت به اکسس داشته باشید .
سوالات پر کاربرد در زمینه کلید اصلی اکسس
در اینجا با هم چند تا سوال پر کاربرد و متداول در زمینه کار با کلیدهای اولیه در اکسس را بررسی می کنیم .
سوال اول : اگر یک جدول را بدون کلید اولیه ذخیره کنیم چه اتفاقی می افتد ؟
اکسس تا جایی که بتواند از شما می خواهد که حتما برای جدول های خودتان کلید اصلی انتخاب کنید .
حتی اگر شما هم این کار را نکنید خودش خودکار یک فیلد جدید را ایجاد کرده و آن را به عنوان کلید اصلی در نظر می گیرد .
اما اگر باز هم بنابر هر دلیل شما نخواهید که جدولتان دارای کلید اصلی باشد از این کار ممانعت نمی کند و جدول بدون کلید اصلی را برای تان ایجاد می کند .
هر چند که بعدها ممکن است در حین جستجو کردن اطلاعات در داخل چند تا جدول بصورت همزمان دچار مشکل شوید .
سوال دوم : در اکسس بیشتر از کدام نوع داده برای کلید اصلی استفاده می شود ؟
خود اکسس که به طور پیشفرض از داده نوع Auto number برای ایجاد کلید اصلی استفاده می کند .
اما شما می توانید از داده های نوع عدد و متن به تنهایی یا ترکیبی از آنها را به عنوان کلید اصلی در نظر بگیرید .
سوال سوم : آیا کلید خارجی در اکسس همان کلید اصلی است ؟
در اکسس دو تا اصطلاح داریم یکی اصطلاح کلید اصلی یا primary key است که در این مطلب مفصل در مورد آن صحبت کردیم .این کلید همیشه در سمت جدول مادر ایجاد می شود
اما در مقابل یک اصطلاح دیگر هم وجود دارد به اسم کلید خارجی یا Foreign key .
کلید خارجی می شود فیلدی که در سمت جدول فرزند قرار دارد و از طریق آنها می شود یک ارتباط بین دو تا جدول والد و فرزند ایجاد کرد .
خب این هم یکی دیگر از مطالب مربوط به آموزش نرم افزار اکسس در اینجا مبحث مربوط به کلید اصلی در اکسس به پایان می رسد . امیدوارم که برای شما مفید و کاربردی بوده باشد.
خوشحال می شوم اگر نظر و یا سوالی در مورد این مطلب دارید در قسمت دیدگاهها با من در میان بگذارید .
به امید دیدار مجدد شما در سافت پلاس .
مطالب زیر را حتما مطالعه کنید
مفهوم join در SQL و دیتابیس اکسس +ویدئو
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام چه وقت میخواهید اطلاعات در دست تکمیل کلید اولیه را آپلود کنید !!! ما منتظریم! آموزشاتون خیلی قابل فهم هستن!!!! ممنونم
سلام ممنون از لطف نظرتان مطلب مربوطه تکمیل شد خوشحال خواهم شد اگر باز هم نظری دارید با من در میان بگذارید
سلام
مطلب خوبی بود…!سپاس
تشکر ممنون